//----------------------------------*-C++-*----------------------------------//
/*!
 * \file   PCAppxJacobian.hh
 * \author Jeremy Roberts
 * \date   10/19/2010
 * \brief  An approximate Jacobian matrix for preconditioning.
 * \note   Copyright (C) 2010 Jeremy Roberts
 */
//---------------------------------------------------------------------------//
// $Rev::                                               $:Rev of last commit
// $Author::                                            $:Author of last commit
// $Date::                                              $:Date of last commit
//---------------------------------------------------------------------------//

#ifndef PCAPPXJACOBIAN_HH
#define PCAPPXJACOBIANL_HH
#include "LinAlg.hh"
#include "GlobalProblem.hh"

//===========================================================================//
/*!
 * \class PCAppxJacobian
 * \brief 
 *
 */
//===========================================================================//

class PCAppxJacobian : public SermentMatrixCRS
{
  // inherits:
  //  mat       M
  //  integer   m, n

  public:
    PCAppxJacobian( integer a, integer b, integer c, 
                    integer const nnz[], 
                    SermentVector *unk, GlobalProblem *pr );
   ~PCAppxJacobian(){};   // default destructor

  // inherits
  //   void MatVec( SermentVector x, SermentVector y )
  //   void MatVec( SermentVector x )   
  SermentVector *x;        // unknown vector          
  GlobalProblem *problem;  // pointer to global problem (and responses, etc.)
  void myMatVec( Mat &M, Vec &f, Vec &fpf );
  

                          
};

#endif // PCAPPXJACOBIAN_HH

//---------------------------------------------------------------------------//
//                 end of PCAppxJacobian.hh
//---------------------------------------------------------------------------//

